package start;

import java.math.BigDecimal;
import java.util.Date;

public class BaseJavaSe {

    public static void main(String args[]) {
        //Persion.name = "Persion";

        System.out.println("---");
        try {
            int s = 0;
            int n = 1/s;
        } catch (ArithmeticException ar) {
            ar.printStackTrace();
            System.out.println("01");
        } catch (Exception e) {
            e.printStackTrace();
            System.out.println("02");
        } finally {
            System.out.println("error");
        }
        System.out.println("---");

        Per p =new Per() {
            @Override
            public void eat() {

            }
        };


    }

    public static void add(final Persion persion) {

    }


    public static class BillCheckOfflineDetailBuilder {
        private Long id;
        private Long masterId;
        private BigDecimal poAmount;
        private String checkStatus;
        private String checkMsg;
        private String remark;

        BillCheckOfflineDetailBuilder() {
        }

        public Long getId() {
            return id;
        }

        public BaseJavaSe.BillCheckOfflineDetailBuilder setId(Long id) {
            this.id = id;
            return this;
        }

        public Long getMasterId() {
            return masterId;
        }

        public BaseJavaSe.BillCheckOfflineDetailBuilder setMasterId(Long masterId) {
            this.masterId = masterId;
            return this;
        }

        public BigDecimal getPoAmount() {
            return poAmount;
        }

        public BaseJavaSe.BillCheckOfflineDetailBuilder setPoAmount(BigDecimal poAmount) {
            this.poAmount = poAmount;
            return this;
        }

        public String getCheckStatus() {
            return checkStatus;
        }

        public BaseJavaSe.BillCheckOfflineDetailBuilder setCheckStatus(String checkStatus) {
            this.checkStatus = checkStatus;
            return this;
        }

        public String getCheckMsg() {
            return checkMsg;
        }

        public BaseJavaSe.BillCheckOfflineDetailBuilder setCheckMsg(String checkMsg) {
            this.checkMsg = checkMsg;
            return this;
        }

        public String getRemark() {
            return remark;
        }

        public BaseJavaSe.BillCheckOfflineDetailBuilder setRemark(String remark) {
            this.remark = remark;
            return this;
        }

        public BaseJavaSe build() {
            return new BaseJavaSe();
        }


    }


}






abstract class Persion {
    static String name;

    static String age;

    static {
        System.out.println("static block");
    }
    abstract void eat();

    abstract void dance();

    public final void execute() {
        this.eat();
        this.dance();
    }
}

interface Per {
    public void eat();
}



